<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Offset Calculator</title>
</head>
<body>
<h1 id='查询与ntp服务器的时间偏差的方法'>使用参考</h1>
<h2 id='windows用户'>Windows用户</h2>
<p>可以使用Windows自带的命令w32tm查询和服务器之间的时间offset。</p>
<p>在cmd中执行（不需要管理员权限）：</p>
<pre><code class='language-shell' lang='shell'>w32tm /stripchart /dataonly /computer:time.windows.com /samples:4
</code></pre>
<p>输出结果（示例）为：</p>
<pre><code class='language-log' lang='log'>正在跟踪 203.107.6.88 [203.107.6.88:123]。
正在收集 4 示例。
当前时间是 2021/7/26 13:42:53。
13:42:53, +02.8948633s
13:42:55, +02.8943872s
13:42:57, +02.8967025s
13:42:59, +02.8878585s
</code></pre>
<p>其输出结果为offset，可以取平均。</p>
<p>由于不需要很高的精度，也可以任选其一。</p>
<h2 id='linux用户'>Linux用户（以Ubuntu为例）</h2>
<p>用命令安装工具ntpdate：</p>
<pre><code class='language-shell' lang='shell'>sudo apt-get install ntpdate
</code></pre>
<p>执行下面的命令即可查询与第三方服务器间的offset：</p>
<pre><code class='language-shell' lang='shell'>ntpdate -q time.windows.com
</code></pre>
<p>可以得到输出：</p>
<pre><code class='language-shell' lang='shell'>server 203.107.6.88, stratum 2, offset 0.034842, delay 0.09808
26 Jul 13:48:51 ntpdate[4530]: adjust time server 203.107.6.88 offset 0.034842 sec
</code></pre>
<p>这里显示的offset值<code>0.034842</code>就是我们想要知道的。</p>
<hr/>
<form method="POST">
    <div>
        <label for="db-offset">数据库与时间服务器的偏移量（单位ms）：</label>
        <input type="text" name="db_offset" id="db-offset" value="{{ db_offset }}" readonly>
    </div>
    <div>
        <label for="local-offset">请输入按文档得到的主机与时间服务器的偏移量（单位s）：</label>
        <input type="text" name="local_offset" id="local-offset" required>
    </div>
    <input type="submit" value="计算">
</form>
</body>
</html>